.TH std::basic_string::rend, 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_string::rend, \- std::basic_string::rend,

.SH Synopsis

   reverse_iterator rend();                       \fB(1)\fP (noexcept since C++11)
                                                      (constexpr since C++20)
   const_reverse_iterator rend() const;           \fB(2)\fP (noexcept since C++11)
                                                      (constexpr since C++20)
   const_reverse_iterator crend() const noexcept; \fB(3)\fP \fI(since C++11)\fP
                                                      (constexpr since C++20)

   Returns a reverse iterator to the character following the last character of the
   reversed string. It corresponds to the character preceding the first character of
   the non-reversed string. This character acts as a placeholder, attempting to access
   it results in undefined behavior.

   range-rbegin-rend.svg

.SH Parameters

   \fI(none)\fP

.SH Return value

   Reverse iterator to the character following the last character.

.SH Complexity

   Constant.

.SH Notes

   libc++ backports crend() to C++98 mode.

.SH Example


// Run this code

 #include <algorithm>
 #include <iostream>
 #include <iterator>
 #include <string>

 int main()
 {
     std::string p("[A man, a plan, a canal: Panama]");
     std::string q;

     std::copy(p.crbegin(), p.crend(), std::back_inserter(q));
     std::cout << "q = " << q << '\\n';

     std::copy(q.crbegin(), q.crend(), p.rbegin());
     std::cout << "p = " << p << '\\n';
 }

.SH Output:

 q = ]amanaP :lanac a ,nalp a ,nam A[
 p = ]amanaP :lanac a ,nalp a ,nam A[

.SH See also

   rbegin  returns a reverse iterator to the beginning
   crbegin \fI(public member function)\fP
   \fI(C++11)\fP
   rend    returns a reverse iterator to the end
   crend   \fI(public member function of std::basic_string_view<CharT,Traits>)\fP
